Comment modifier un rapport Crystal pour utiliser ADO au lieu d'ODBC ?
Deux formats de rapport permettent d'accéder directement à un objet ActiveX Data Objects (ADO) RecordSet (produisant un fichier .xml) :
- Crystal ADO Report
- Microsoft ADO Report
L'exécution de ces rapports dans EMu génère un fichier .xml avec les données de l'ensemble des enregistrements. L'emplacement de ce fichier peut varier, mais il se trouve généralement dans :
C:\Users\[votre nom d’utilisateur]\AppData\Local\KESoftware\Reports\e[nom de module]
Par exemple, un rapport exécuté dans le module Personnes / Organisations, enregistrera le fichier xmldata dans le dossier :
C:\Users\[votre nom d’utilisateur]\AppData\Local\KESoftware\Reports\eparties
Note: Il est important de ne pas déplacer le fichier xmldata.xml
,car cela poserait des problèmes lors du partage du rapport avec d'autres utilisateurs.
Les rapports Crystal qui se connectent actuellement à une source de données ODBC peuvent être modifiés pour utiliser un ADO RecordSet :
- Dans le module EMu à partir duquel le rapport Crystal est exécuté, cliquez sur Rapports dans l'onglet Accueil du ruban pour ouvrir la boîte de rapports :
- Sélectionnez le rapport Crystal dans la liste et affichez les propriétés du rapport en sélectionnant .
Dans cet exemple, nous sélectionnons le rapport Liste (A4).
- Dans la zone Propriétés du rapport, sélectionnez Crystal ADO Report dans la liste déroulante Type :
Les champs de ce rapport sont les suivants :
Deux tables sont générées dans ce rapport.
- Cliquez sur OK et exécuter le rapport.
- Cliquez sur OK pour fermer le message d'erreur et afficher à nouveau les propriétés du rapport Crystal que vous modifiez (étape 2 ci-dessus).
- Cliquez sur Ouvrir pour sauvegarder le rapport en local et l'ouvrir dans le Crystal Report Designer.
- Sélectionner Base de données>Expert Base de données dans la barre de Menu.
- Dans le volet Remplacer par, développez Créer une nouvelle connexion, puis développez ADO.NET (XML).
- Dans la boîte ADO.NET (XML), localisez et sélectionnez le fichier
xmldata.xml
créé lors de l'exécution du rapport en cliquant sur le point de suspension à côté de Chemin du fichier, par exemple :Où se trouve le fichier xmldata.xml ?L'emplacement de ce fichier peut varier, mais il se trouve généralement sur :
C:\Users\[votre nom d'utilisateur]\AppData\\KESoftware\Reports\e[nom du module]
Par exemple, un rapport exécuté dans le module Personnes/Organisations, enregistrera le fichier xmldata à l'adresse suivante :
C:\Users\[votre nom d'utilisateur]\AppData\Local\KESoftware\Reports\eparties
Note: Plus de détails ici.
- Cliquez sur Fin pour fermer la boîte de dialogue ADO.NET (XML) et revenir à la boîte de dialogue Définir emplacement Datasource :
- Pour faire correspondre les anciens champs ODBC Catalogue à la nouvelle table Catalogue, cliquez sur ecatalog_csv dans le volet Source de données actuelle, puis sur la table ligne dans le volet Remplacer avec.
- Cliquez sur Mise à jour pour afficher la boîte de dialogue Champs de carte :
Les champs portant le même nom sont mappés automatiquement :
- Décochez la case Type de correspondance pour faire apparaître davantage de champs dans le volet Champs non mappés :
- Remplissez les champs de mappage dans le volet Champs non mappés.
- Lorsque tous les champs sont mappés, cliquez sur OK pour revenir à la boîte de dialogue Définir emplacement Datasource.
- Répétez le processus de mappage pour tous les champs (dans cet exemple, mappez les champs du sous-rapport
CreatorD
_csv
vers la table ADOCreatorDetails
). - Lorsque tous les champs ont été mappés dans toutes les tables, cliquez sur Fermer pour revenir à la fenêtre de conception Crystal.
- Rafraîchissez le rapport (
F5
). - Cliquez sur OK pour ouvrir l'éditeur de formule de sélection d'enregistrement.
- Changez le champ de clé de lien utilisé par l'ancienne table ODBC en champ de clé de lien référencé par l'ADO RecordSet :
- Enregistrer le rapport.
- L'étape finale consiste à sauvegarder le rapport modifié dans EMu :
- Dans EMu, répétez les étapes 1 et 2 ci-dessus pour afficher la boîte de dialogue Propriétés du rapport :
- Sélectionnez Sauvegarder, localisez le fichier de rapport que vous avez modifié et sauvegardé et sauvegardez-le à nouveau dans EMu.
Le rapport Crystal ADO peut maintenant être exécuté.
L'ensemble d'enregistrements ADO sera créé et une erreur s'affichera (le rapport recherche une source de données .csv).
Nous devons maintenant modifier le rapport Crystal.
La boîte de dialogue Définir emplacement Datasource s'affiche :
Nous faisons ensuite correspondre les champs de l'ancienne source de données ODBC au nouvel ensemble d'enregistrements ADO. Dans cet exemple, il y a deux tables et un sous-rapport à mettre en correspondance.
Le bouton Mise à jour sera activé :
Dans cet exemple, nous mappons ecatalogue_key
à ecatalogue_key
et irn
à irn
en sélectionnant les deux champs à mapper et en cliquant sur Carte.
Au fur et à mesure qu'ils sont mappés, les champs sont déplacés vers le volet Champs mappés :
Si vous avez un objet de sous-rapport, vous pouvez recevoir une erreur concernant les liens de sous-rapport, par exemple :
Si c'est le cas :
Le rapport devrait maintenant fonctionner correctement.